package models

import (
	"database/sql"
)

type Stats struct {
	BookCount   int `json:"bookCount"`
	AuthorCount int `json:"authorCount"`
	TagCount    int `json:"tagCount"`
}

// GetStats 获取统计数据
func GetStats(db *sql.DB) (*Stats, error) {
	stats := &Stats{}

	// 获取书籍总数
	err := db.QueryRow("SELECT COUNT(*) FROM book WHERE is_delete = 0").Scan(&stats.BookCount)
	if err != nil {
		return nil, err
	}

	// 获取作者总数
	err = db.QueryRow("SELECT COUNT(*) FROM author").Scan(&stats.AuthorCount)
	if err != nil {
		return nil, err
	}

	// 获取标签总数
	err = db.QueryRow("SELECT COUNT(*) FROM tags").Scan(&stats.TagCount)
	if err != nil {
		return nil, err
	}

	return stats, nil
}
